package com.bingyuan.aipassproject.di.component;

import android.content.Context;


import com.bingyuan.aipassproject.AndroidApplication;
import com.bingyuan.aipassproject.di.modules.ApplicationModule;
import com.bingyuan.aipassproject.domain.executor.PostExecutionThread;
import com.bingyuan.aipassproject.domain.executor.ThreadExecutor;
import com.bingyuan.aipassproject.view.BaseActivity;

import javax.inject.Singleton;

import dagger.Component;
import retrofit2.Retrofit;

@Singleton
@Component(modules = ApplicationModule.class)
public interface ApplicationComponent {

    void inject(BaseActivity activity);

//    void inject(BaseFragment fragment);

    Context context();

    AndroidApplication application();

    ThreadExecutor threadExecutor();

    PostExecutionThread postExecutionThread();

    Retrofit retrofit();
}
